0 Prolog
↳1 BuiltinConflictTransformerProof (⇔, 0 ms)
↳2 Prolog
↳3 PrologToPrologProblemTransformerProof (⇒, 83 ms)
↳4 Prolog
↳5 PrologToPiTRSProof (⇒, 0 ms)
↳6 PiTRS
↳7 DependencyPairsProof (⇔, 28 ms)
↳8 PiDP
↳9 DependencyGraphProof (⇔, 0 ms)
↳10 AND
↳11 PiDP
↳12 UsableRulesProof (⇔, 0 ms)
↳13 PiDP
↳14 PiDPToQDPProof (⇒, 0 ms)
↳15 QDP
↳16 QDPSizeChangeProof (⇔, 0 ms)
↳17 YES
↳18 PiDP
↳19 UsableRulesProof (⇔, 0 ms)
↳20 PiDP
↳21 PiDPToQDPProof (⇒, 0 ms)
↳22 QDP
↳23 QDPOrderProof (⇔, 56 ms)
↳24 QDP
↳25 DependencyGraphProof (⇔, 0 ms)
↳26 TRUE
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U2_GGA(T29, T30, T22, minusA_in_gga(T29, T30, X32))
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → MINUSA_IN_GGA(T29, T30, X32)
MINUSA_IN_GGA(s(T50), s(T51), X58) → U1_GGA(T50, T51, X58, minusA_in_gga(T50, T51, X58))
MINUSA_IN_GGA(s(T50), s(T51), X58) → MINUSA_IN_GGA(T50, T51, X58)
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U3_GGA(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_GGA(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30), T22)
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U2_GGA(T29, T30, T22, minusA_in_gga(T29, T30, X32))
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → MINUSA_IN_GGA(T29, T30, X32)
MINUSA_IN_GGA(s(T50), s(T51), X58) → U1_GGA(T50, T51, X58, minusA_in_gga(T50, T51, X58))
MINUSA_IN_GGA(s(T50), s(T51), X58) → MINUSA_IN_GGA(T50, T51, X58)
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U3_GGA(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_GGA(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30), T22)
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
MINUSA_IN_GGA(s(T50), s(T51), X58) → MINUSA_IN_GGA(T50, T51, X58)
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
MINUSA_IN_GGA(s(T50), s(T51), X58) → MINUSA_IN_GGA(T50, T51, X58)
MINUSA_IN_GGA(s(T50), s(T51)) → MINUSA_IN_GGA(T50, T51)
From the DPs we obtained the following set of size-change graphs:
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U3_GGA(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30), T22)
divB_in_gga(0, T10, 0) → divB_out_gga(0, T10, 0)
divB_in_gga(s(T29), s(T30), s(T22)) → U2_gga(T29, T30, T22, minusA_in_gga(T29, T30, X32))
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U2_gga(T29, T30, T22, minusA_out_gga(T29, T30, X32)) → divB_out_gga(s(T29), s(T30), s(T22))
divB_in_gga(s(T29), s(T30), s(T22)) → U3_gga(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_gga(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → U4_gga(T29, T30, T22, divB_in_gga(T33, s(T30), T22))
U4_gga(T29, T30, T22, divB_out_gga(T33, s(T30), T22)) → divB_out_gga(s(T29), s(T30), s(T22))
DIVB_IN_GGA(s(T29), s(T30), s(T22)) → U3_GGA(T29, T30, T22, minusA_in_gga(T29, T30, T33))
U3_GGA(T29, T30, T22, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30), T22)
minusA_in_gga(0, T40, 0) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0, T45) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51), X58) → U1_gga(T50, T51, X58, minusA_in_gga(T50, T51, X58))
U1_gga(T50, T51, X58, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
DIVB_IN_GGA(s(T29), s(T30)) → U3_GGA(T29, T30, minusA_in_gga(T29, T30))
U3_GGA(T29, T30, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30))
minusA_in_gga(0, T40) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51)) → U1_gga(T50, T51, minusA_in_gga(T50, T51))
U1_gga(T50, T51, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
minusA_in_gga(x0, x1)
U1_gga(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIVB_IN_GGA(s(T29), s(T30)) → U3_GGA(T29, T30, minusA_in_gga(T29, T30))
POL(0) = 0
POL(DIVB_IN_GGA(x1, x2)) = x1 + x2
POL(U1_gga(x1, x2, x3)) = 1 + x3
POL(U3_GGA(x1, x2, x3)) = x2 + x3
POL(minusA_in_gga(x1, x2)) = 1 + x1
POL(minusA_out_gga(x1, x2, x3)) = 1 + x3
POL(s(x1)) = 1 + x1
minusA_in_gga(0, T40) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51)) → U1_gga(T50, T51, minusA_in_gga(T50, T51))
U1_gga(T50, T51, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
U3_GGA(T29, T30, minusA_out_gga(T29, T30, T33)) → DIVB_IN_GGA(T33, s(T30))
minusA_in_gga(0, T40) → minusA_out_gga(0, T40, 0)
minusA_in_gga(T45, 0) → minusA_out_gga(T45, 0, T45)
minusA_in_gga(s(T50), s(T51)) → U1_gga(T50, T51, minusA_in_gga(T50, T51))
U1_gga(T50, T51, minusA_out_gga(T50, T51, X58)) → minusA_out_gga(s(T50), s(T51), X58)
minusA_in_gga(x0, x1)
U1_gga(x0, x1, x2)